package io.github.echarts.option.component.axis;


import io.github.echarts.option.abstracts.AbstractOption;
import io.github.echarts.option.style.LineStyle;

/**
 * 坐标轴刻度配置。
 */

public class AxisTick extends AbstractOption {
    
    private static final long serialVersionUID = 1L;
    
    private Boolean show;
    private Integer length;
    private Boolean alignWithLabel;
    private LineStyle lineStyle;
    
    /**
     * 获取是否显示坐标轴刻度。
     *
     * @return 如果显示坐标轴刻度则为true，否则为false
     */
    public Boolean getShow() {
        return show;
    }
    
    /**
     * 设置是否显示坐标轴刻度。
     *
     * @param show 如果要显示坐标轴刻度则为true，否则为false
     * @return 当前配置实例，用于链式调用
     */
    public AxisTick setShow(Boolean show) {
        this.show = show;
        return this;
    }
    
    /**
     * 获取坐标轴刻度的长度。
     *
     * @return 刻度线长度
     */
    public Integer getLength() {
        return length;
    }
    
    /**
     * 设置坐标轴刻度的长度。
     *
     * @param length 刻度线长度
     * @return 当前配置实例，用于链式调用
     */
    public AxisTick setLength(Integer length) {
        this.length = length;
        return this;
    }
    
    /**
     * 获取刻度线是否与标签对齐。
     *
     * @return 如果刻度线与标签对齐则为true，否则为false
     */
    public Boolean getAlignWithLabel() {
        return alignWithLabel;
    }
    
    /**
     * 设置刻度线是否与标签对齐。
     *
     * @param alignWithLabel 如果要刻度线与标签对齐则为true，否则为false
     * @return 当前配置实例，用于链式调用
     */
    public AxisTick setAlignWithLabel(Boolean alignWithLabel) {
        this.alignWithLabel = alignWithLabel;
        return this;
    }
    
    /**
     * 获取坐标轴刻度线的样式。
     *
     * @return 刻度线样式
     */
    public LineStyle getLineStyle() {
        return lineStyle;
    }
    
    /**
     * 设置坐标轴刻度线的样式。
     *
     * @param lineStyle 刻度线样式
     * @return 当前配置实例，用于链式调用
     */
    public AxisTick setLineStyle(LineStyle lineStyle) {
        this.lineStyle = lineStyle;
        return this;
    }
} 